#pragma once
#include "Fysics/Renderer/Texture.h"
#include <glm/glm.hpp>
namespace Fysics
{
	class Text
	{
	private:
		unsigned int m_FontSize;
		int m_StartX;
		int m_StartY;
		glm::vec3 m_FontColor;
		int m_FontSpace;
		std::string m_Font;
		std::string m_Text;
		int m_LineInterval;

	public:
		Text(const std::string& text);
		virtual ~Text();

		Text& SetText(const std::string& text);
		const std::string& GetText() const { return m_Text; }

		Text& SetColor(const glm::vec3& color);
		const glm::vec3& GetColor() const { return m_FontColor; }

		Text& SetFontSpace(int space);
		int GetFontSpace() const { return m_FontSpace; }

		Text& SetFontSize(unsigned int font_size);
		unsigned int GetFontSize() const { return m_FontSize; }

		Text& SetFont(const std::string& font);
		const std::string& GetFont() const { return m_Font; }

		Text& SetStartX(int startx);
		int GetStartX() const { return m_StartX; }

		Text& SetStartY(int starty);
		int GetStartY() const { return m_StartY; }

		Text& SetLineInterval(int interval);
		int GetLineInterval() const { return m_LineInterval; }
	};
}